diff --git a/cluster-autoscaler/utils/drain/drain.go b/cluster-autoscaler/utils/drain/drain.go
index 02ddb7a12..6ba40eeb6 100644
--- a/cluster-autoscaler/utils/drain/drain.go
+++ b/cluster-autoscaler/utils/drain/drain.go
@@ -114,6 +114,18 @@ func GetPodsForDeletionOnNodeDrain(
 		safeToEvict := hasSafeToEvictAnnotation(pod)
 		terminal := isPodTerminal(pod)
 
+		if strings.HasPrefix(pod.Namespace, "d8-") {
+			evictionEnabled := func(pod *apiv1.Pod) bool {
+				if val, ok := pod.Annotations["cluster-autoscaler.kubernetes.io/enable-ds-eviction"]; ok && val == "true" {
+					return true
+				}
+				return false
+			}(pod)
+			if !evictionEnabled {
+				continue
+			}
+		}
+
 		if skipNodesWithCustomControllerPods {
 			// TODO(vadasambar): remove this when we get rid of skipNodesWithCustomControllerPods
 			replicated, isDaemonSetPod, blockingPod, err = legacyCheckForReplicatedPods(listers, pod, minReplica)
